Necesito permitir solicitudes de algunos orígenes o todas las solicitudes si son de un agente de usuario específico.
... var whitelist = [URL1, URL2]; corsOptions = { origin: function (origin, callback) { if (whitelist.indexOf(origin) !== -1 || origin.req.header['user-agent'] === 'SpecificUserAgent') { callback(null, true) } else { callback(new Error('Not allowed by CORS')) } } }; ...Siendo origin.req.header['user-agent'] === 'SpecificUserAgent' solo una muestra de lo que necesito.
¿Hay alguna forma de hacerlo? Tanques.
Podría escribir su propio middleware sobre todas las rutas que le gustaría proteger y analizar los agentes de usuario tal como lo hizo.
Sin embargo, este método no brinda ninguna seguridad, ya que un agente de usuario puede ser falsificado fácilmente.
app.use((req, res, next) => { if(!req.headers['user-agent'].match(/firefox/gi)) return res.status(403).send({error: "Unauthorized browser"}) next() })